package com.ldp.designpatterns.study.memento.orginator;

import com.ldp.designpatterns.study.memento.memento.Memento;
import lombok.Data;

/**
 * @ClassName Originator TODO:第2步：创建原始对象类（Originator（发起人）：这是需要被记录状态的对象。它创建一个备忘录对象，以存储当前状态，也可以从备忘录中恢复状态。）
 * @Description TODO 备忘录模式——备忘录模式在需要记录和恢复对象状态的情况下是一个有用的设计模式
 * @Author lindipei
 * @Date 2023/10/18 15:46
 */
@Data
public class Originator {
    private String state;

    public void setState(String state) {
        this.state = state;
    }

    public String getState() {
        return state;
    }
    public Memento createMemento() {
        return new Memento(state);
    }

    public void restoreMemento(Memento memento) {
        state = memento.getState();
    }

}
